package leecode

import "strings"

func partitionLabels(s string) (result []int) {
	arr := strings.Split(s, "")
	index := 0
	flag := 1
	temp := 0
	for index < len(arr) {
		//寻找每一个字符最后一次出现的位置
		lastIndex := strings.LastIndex(s, arr[index]) //9
		//接下来一直循环到9 , 如果从开始到 lastIndex 的位置 每一次字符最后一次出现的位置都 小于 lastIndex , lastIndex 符合条件
		for i := index; i < lastIndex; i++ {
			temp := strings.LastIndex(s, arr[i])
			if temp > lastIndex {
				flag = 0
				index = i
				lastIndex = temp
				break
			}
		}
		if flag == 1 {
			index = lastIndex + 1
			result = append(result, index-temp)
			temp = index

		} else {
			flag = 1
		}
	}
	return result
}
